Touchscreen and token interactions

ABSTRACT

An apparatus can include a processor; a memory device that includes memory accessible by the processor; a touchscreen operatively coupled to the processor; and circuitry to decode fields received via the touchscreen, the fields being modulated according to modulation codes associated with a set of tokens positionable on the touchscreen. Various other apparatuses, systems, methods, etc., are also disclosed.

TECHNICAL FIELD

Subject matter disclosed herein generally relates to technologies andtechniques for touchscreens and tokens.

BACKGROUND

A physical token may be used for physi-digital interaction, for example,by positioning the token on a touchscreen and performing a digitalaction responsive to sensing the physical presence of the token on thetouchscreen.

SUMMARY

An apparatus can include a processor, a memory device that includesmemory accessible by the processor, a touchscreen operatively coupled tothe processor, and circuitry to decode fields received via thetouchscreen, the fields being modulated according to modulation codesassociated with a set of tokens positionable on the touchscreen. Variousother apparatuses, systems, methods, etc., are also disclosed.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of the described implementations can be morereadily understood by reference to the following description taken inconjunction with the accompanying drawings.

FIG. 1 is a diagram of example scenarios for an example of atouchscreen;

FIG. 2 is a diagram of an example of a system;

FIG. 3 is a diagram of example scenarios for touchscreen and tokeninteractions;

FIG. 4 is a diagram of an example of a system and an example of amethod;

FIG. 5 is a diagram of examples of applications and examples ofassignments for tokens and applications;

FIG. 6 is a diagram of example scenarios that include examples of tokenson a touchscreen;

FIG. 7 is a diagram of an example of a token;

FIG. 8 is a diagram of examples of tokens;

FIG. 9 is a diagram of examples of codes;

FIG. 10 is a diagram of an example of an apparatus, an example, ofactions and an example of a set of tokens; and

FIG. 11 is a diagram of an example of a system.

DETAILED DESCRIPTION

The following description includes the best mode presently contemplatedfor practicing the described implementations. This description is not tobe taken in a limiting sense, but rather is made merely for the purposeof describing general principles of the implementations. The scope ofthe described implementations should be ascertained with reference tothe issued claims.

A touchscreen can include hardware for capacitive, resistive, acoustic,optical, embedded or one or more other “touch” technologies. As anexample, a capacitive touchscreen may include circuitry for projectedcapacitance, surface capacitance, etc. Touch technology may includecircuitry for sensing voltage, current, ultrasonic waves, capacitancechange, light, images, force, etc. As an example, multi-touch may bedefined as the ability for a touchscreen to recognize two or moresimultaneous touch points. As to display technologies, a touchscreen mayinclude circuitry for LED, LCD, plasma, cathode ray or one or more otherdisplay technologies.

FIG. 1 shows examples of scenarios 101 and 103 with respect to atouchscreen 110. As shown in the example of FIG. 1, the touchscreen 110includes an outwardly facing surface 112 as well as a drive electrode122 and a receive electrode 124. In such an example, charge may beprovided to the drive electrode 122 such that an electric field 130 isformed with respect to the receive electrode 124. The electric field 130may be referred to as a “projected” electric field, for example, thatcorresponds to a technology known as “projected capacitance” (e.g.,“p-cap”).

In the example scenario 101, the projected electric field 130 may beavailable for “field coupling”, as illustrated in the example scenario103 by introduction of a conductive object 104 (e.g., a hand). As shown,a portion 134 of the projected electric field 130 couples with theconductive object 104, which leaves a remaining portion 132 of theprojected electric field 130 coupling with the receive electrode 124. Insuch an example, the field coupling with the conductive object 104 actsto reduce charge collected by the receive electrode 124. In turn, thecollected charge may be used as an indicator of the conductive object104 being at or near a particular surface location on the touchscreen110 (e.g., a particular x,y location in an x,y-plane).

As to techniques for measuring collected charge, as an example, anintegrator may be implemented that integrates collected charge withrespect to time. In such an example, the drive electrode may be drivenusing time pulses (e.g., regular approximately square wave pulses). Sucha technique may act to help discriminate touches from noise, etc.

As an example, a change in collected charge may be deemed a change incapacitance, for example, as a conductive object may introduce parasiticcapacitance to circuitry of a touchscreen.

FIG. 2 shows an example of a system 200 that includes a touchscreen 210,touch controller circuitry 250 as well as a digital signal processor 262and a host 270, for example, a host computing device that may respond toinput via the touchscreen 210.

In the example of FIG. 2, the touchscreen 210 is configured usingprojected capacitive touch technology, for example, where a conductivelayer may be etched to form an x-y grid that can be driven by, forexample, drive lines 222 running along the y direction and where sensingmay occur along sense lines 224 running along the x direction.

In the example of FIG. 2, the touchscreen 210 includes mutual capacitivesensors (e.g., a capacitor at each intersection of each row and eachcolumn). As mentioned, charge (e.g., voltage) may be applied to thedrive lines 222 such that bringing a conductive object 204 near one ormore of the capacitive sensor changes the projected electric field in alocalized manner that reduces mutual capacitance. For example, thecapacitance change at individual points on a grid may be measured todetermine a touch location (e.g., or touch locations) by measuringvoltage (e.g., collected charge).

A mutual capacitance method may include providing drive electrodes andreceive electrodes organized as a matrix (e.g., an array) and measuringcapacitive coupling at points in the matrix, which, in turn, in thepresence of a touch or touches, may act to locate the touch or toucheswith respect to the matrix.

In the example of FIG. 2, the touch controller circuitry 250 includes asignal source 252 operatively coupled to the drive lines 222, amultiplexer 254 operatively coupled to the sense lines 224 and ananalog-to-digital converter (ADC) 256, for example, to convert sensedanalog signals of the sense lines 224 received via the multiplexer 254to digital signals. As shown in the example of FIG. 2, the digitalsignal processor (DSP) 262 may receive digital signals from the touchcontroller circuitry 250 and provide output based at least in part ondigital signal processing to the host 270. As an example, the DSP 262may receive an output array from the touch controller circuitry 250where values in the array represent capacitance at, for example, x-yintersections of a mutual capacitance grid of the touchscreen 210. As anexample, the DSP 262 may be included in the touch controller circuitry250.

FIG. 3 shows example scenarios 301, 303 and 305 with respect to exampleobjects 380, 392 and 394, respectively (e.g., for touchscreen and tokeninteractions). In FIG. 3, the scenarios 301, 303 and 305 are shown withrespect to a touchscreen 310 that includes an outwardly facing surface312, a drive electrode 322 and a receive electrode 324 where an electricfield 330 exists between the drive electrode 322 and the receiveelectrode 324, for example, responsive to charge (e.g., voltage) beingprovided to the drive electrode 322 and the receive electrode 324 beingat ground (e.g., grounded, at a ground potential, or other regulated orknown potential, etc.).

In the scenario 301, the object 380 is a conductive object that attractsa portion 334 of the electric field 330 while a remaining portion 332couples to the receive electrode 324. As indicated in a time plot forthe scenario 301, characteristics of the object 380 do not vary withrespect to time. Accordingly, in the scenario 301, the collected chargeat the receive electrode 324 will remain constant, for example, asintegrated with respect to a time over one or more successive timewindows. For example, where the drive electrode 322 receives regularpulses, presence of the object 380 will diminish the collected charge atthe receive electrode 324, which will remain at a constant value over aseries of the regular pulses (e.g., consider integration of collectedcharger over a series of about 10 pulses).

In the scenario 303, the object 392 may be active in that it includesone or more characteristics that vary with respect to time in a mannerthat can affect the electric field 330, particularly, to effect chargecollected at the receive electrode 324. As shown in a time plot for thescenario 303, the object 392 may emit an electric field 393 that varieswith respect to time (e.g., pulses or other variation). Accordingly,when the time-varying electric field 393 of the object 392 is broughtinto proximity to the electric field 330, an altered electric field 333exists at the receive electrode 324. In such a manner, collected chargeat the receive electrode 324 can vary in time. As an example, thetime-varying nature (e.g., characteristic or characteristics) of thecollected charge may be related back to the object 392, for example, forpurposes of identifying the object 392. For example, in the scenario303, the touchscreen 310, via appropriate circuitry, may locate theobject 392 (e.g., in x,y coordinates) and identify the object 392 (e.g.,by one or more characteristics of time-varying collected charge).

In the scenario 305, the object 394 may be active in that it includesone or more characteristics that vary with respect to time in a mannerthat can affect the electric field 330, particularly, to alter chargecollected at the receive electrode 324. As shown in a time plot for thescenario 305, the object 394 may alter its capacitance with respect totime (e.g., pulse-wise or other variation in time). Accordingly, whenthe object 394 is brought into proximity to the electric field 330, itsparasitic capacitance as represented by a portion 334 of the electricfield 330 will vary with respect to time and thereby alter a portion 335of the electric field 330 received at the receive electrode 324. In sucha manner, collected charge at the receive electrode 324 can vary intime. As an example, the time-varying nature (e.g., characteristic orcharacteristics) of the collected charge may be related back to theobject 394, for example, for purposes of identifying the object 394. Forexample, in the scenario 305, the touchscreen 310, via appropriatecircuitry, may locate the object 394 (e.g., in x,y coordinates) andidentify the object 394 (e.g., by one or more characteristics oftime-varying collected charge).

As an example, an active token may modulate an electric charge. Forexample, a charge may be generated on a conductive plate within a token.In such an example, modulated charge can create a time-varying electricfield, which in turn affects charge on capacitors in a touchscreen(e.g., p-cap touchscreen).

As an example, an active token for a p-cap touchscreen may be configuredto cause a known time-varying pattern in sensed capacitance, forexample, by varying its capacitance, which may be added to a circuit asparasitic capacitance. Such an active token may be multi-state (e.g.,and can switch states according to a code). As an example, modulationcircuitry for such a token may include one or more varactors/varicaps,digitally tuned capacitors, etc.

While the example scenarios 303 and 305 describe a touchscreen thatoperates with respect to capacitance, other types of touchscreentechnologies may be used, for example, where a token can vary one ormore characteristics with respect to time (e.g., consider a token thatcan vary infrared sensing by an infrared touchscreen array, whether viatransmission, reflection, etc. to affect an infrared field or fields).

FIG. 4 shows an example of a system 400 that includes a touchscreen 410with touch controller (TC) circuitry 411, a processor 412, a memorydevice 413 that includes memory, decode circuitry 414, renderingcircuitry 415, application circuitry 416 and code assignment circuitry418. In such an example, information output by the touch controllercircuitry 411 may be received by one or more of the processor 412, thememory device 413 and the decode circuitry 414 for further processing(e.g., via a suitable connector, port, bus, etc.). As an example, thedecode circuitry 414 may optionally be part of the touch controllercircuitry 411 (e.g., consider a touchscreen that includes touchcontroller circuitry as well as decode circuitry).

As to the touchscreen 410, the touch controller circuitry 411 and decodecircuitry 414, may be configured for capacitive, resistive, acoustic,optical, embedded or one or more other “touch” technologies. Suchtechnologies may include generation of and use of a field or fields,whether electric, electromagnetic, acoustic, etc.

In FIG. 4, an example of a token 490 is also shown as including powercircuitry 492 and modulation circuitry 494. As shown with respect to thetouchscreen 410, a plurality of the tokens 490 may be provided, forexample, as token A, token B and token C where each of the tokensincludes modulation circuitry for modulating a field in a time varyingmanner. For example, each of the tokens A, B and C may include anassociated modulation code. Such a modulation code may optionally be aselectable modulation code selected from a group of modulation codes or,for example, a modulation code determined during token manufacture.

In the example of FIG. 4, given a respective different modulation codefor each of the tokens A, B and C, the system 400 may identify each ofthe tokens A, B and C, along with a respective location. For example,where the tokens A, B and C are placed on the touchscreen 410, the touchcontroller circuitry 411 may detect locations of the tokens A, B and Cas three locations (e.g., x₁, y₁; x₂, y₂; and x₃, y₃) and outputinformation for decoding, for example, by the decode circuitry 414(e.g., and optionally the code association circuitry 418) toindividually associate each of the three locations with a particular oneof the tokens A, B and C (e.g., x_(A), y_(A); x_(B), y_(B); and x_(C),y_(C)). In such a manner, a multi-touch signal for a plurality ofobjects may include coded information to specifically identify each ofthe plurality of objects (e.g., as token A, token B and token C).

As shown in the example of FIG. 4, the application circuitry 416 may beoperable in conjunction with the code assignment circuitry 418. In sucha manner, an application may receive input associated with a particulartoken identifiable by its code where that input is assigned to one ormore actions to be performed, at least in part, by the application(e.g., or an operating system, hardware, etc.). For example, a token maybe an “off” token such that an identified presence of that token causesthe application to shut down (e.g., optionally without regard to itslocation on a touchscreen). As another example, a token may be acharacter in a game (e.g., a role-based token) such that an applicationmay know when that character is present as well as its location, whichmay, in turn, instruct the application to perform one or more actions(e.g., which may be assigned to or otherwise associated with thecharacter, its location, etc.).

As an example, an apparatus can include a processor; a memory devicethat includes memory accessible by the processor; a touchscreenoperatively coupled to the processor; and circuitry to decode fieldsreceived via the touchscreen, the fields being modulated according tomodulation codes associated with a set of tokens positionable on thetouchscreen. In such an example, circuitry to decode fields may beconfigured to decode fields based at least in part on receipt ofinformation associated with one or more time-varying fields (e.g.,collected charge, intensity, etc.), for example, via touch controllercircuitry.

As an example, an apparatus may include the processor 412, the memorydevice 413, the touchscreen 410 and the decode circuitry 414. In such anexample, the memory device 413 can include memory accessible by theprocessor 412 and the decode circuitry 414 can provide for decodingfields received via the touchscreen 410, the fields being modulatedaccording to modulation codes associated with a set of tokenspositionable on the touchscreen 410. For example, the tokens A, B and Cmay be a set of tokens (e.g., consider a set that includes a pluralityof tokens such as the token 490) positionable on the touchscreen 410where each includes a modulation code (e.g., as effectuated via themodulation circuitry 494 as coupled to the power circuitry 492).

Referring to the tokens 392 and 394 of FIG. 3, they may include powercircuitry that provides power to modulation circuitry to vary an emittedelectric field with respect to time (e.g., consider the token 392) or tovary a capacitance with respect to time (e.g., consider the token 394).

As an example, a touchscreen of an apparatus may be a capacitivetouchscreen, an infrared touchscreen, or other type of touchscreen. Forexample, as to an infrared touchscreen, a token may include modulationcircuitry for modulating an infrared field. In such an example, a tokenmay include one or more emitters that can emit infrared radiationperipherally in a manner detectable by one or more infrared detectors ofa touchscreen.

As an example, a modulation code may be orthogonal to another modulationcode. For example, for a set of tokens, orthogonal modulation codes maybe provided. In such an example, orthogonality of the modulation codesmay facilitate identification of codes and hence particular tokens.

As an example, an apparatus may include assignment circuitry to assignone or more parameters to a modulation code. For example, consider anassignment process that includes positioning one or more tokens on atouchscreen and then assigning one or more parameters based at least inpart on the touchscreen positions. As an example, assignment circuitrymay instruct a processor to render a grid to a touchscreen where eachblock in the grid can be associated with one or more parameters. In suchan example, tokens may be placed in the blocks of the grid, be locatedwith respect to blocks of the grid, be identified via respectivemodulation codes and, in turn, be assigned one or more parameters. Insuch a manner, the modulation codes need not necessarily be assigned oneor more parameters in advance (e.g., a priori).

FIG. 4 also shows an example of a method 440 that include a receptionblock 444 for receiving modulated fields associated with a set of tokenson a touchscreen where each of the tokens modulates a respective one ofthe fields; and a differentiation block 448 for differentiating at leastone of the tokens from at least another one of the tokens based on theircorresponding modulated fields. In such an example, differentiating mayinclude identifying modulation codes, which may be, for example,orthogonal codes. As an example, a method may include, based in part ondifferentiating at least one token of a set of tokens, associating oneor more parameters with that at least one token. In such an example, themethod may include instructing an application according to at least oneof the one or more parameters. As an example, a token may change itscode responsive to, for example, time, manner of use, position,stacking, etc. In such an example, one or more parameters associatedwith that token may change.

FIG. 5 shows example applications 516 and example assignments 518 fortokens 590 and applications such as one or more of the applications 516.As shown, an application may be a game application, a computer-aideddesign application or another type of application.

As to a game application, consider a game implemented by executable codethat includes rendering information to a display. As an example,consider the game of roulette where tokens may be positioned on asurface to place bets, which may include inside bets and outside bets.For example, an inside bet may be a straight bet (e.g., a single numberbet) where a token is positioned entirely within a number square; asplit bet where a token is positioned on a line adjoining two numbersquares (e.g., either vertical or horizontal); a street bet where atoken is positioned on the edge of the line of a number at the end ofthe line (e.g., either left or right, depending on layout); a corner (orsquare) bet on four numbers in a square layout where a token ispositioned at the horizontal and vertical intersection of lines betweenfour numbers; a six line (or double street) bet on two adjoining streetswhere a token is positioned at the corresponding intersection; a triobet for a token as if in between where two street bets would bepositioned; a basket bet where a token is positioned at the intersectionof three desired numbers; or a top line a bet where a token ispositioned either at the corner of 0 and 1, or the corner of 00 and 3.

As to outside bets, consider a manque bet; a passe bet; a rouge ou noirbet (e.g., red or black); a pair ou impair (odd or even) bet; a dozenbet; a column bet; or a snake bet.

In the roulette example, tokens that include modulation circuitry maymodulate a field according to a modulation code or, for example,modulations codes. In such an example, a modulation code may beassociated with a value (e.g., one dollar, five dollars, . . . onethousand dollars, etc.), a player (e.g., James S., Sarah B., etc.), astatus (e.g., silver member, gold member, whale, etc.), an establishment(e.g., casino X, casino Y, etc.), etc. Where a token includes modulationcircuitry configured to modulate a field using a plurality of codes, atoken may be associated with one or more of the foregoing examples(e.g., or other associations). For example, consider a token thatincludes modulation circuitry to modulate a field according to a valuecode and to modulate a field according to a player code. In such anexample, a game application may be able to track values of tokens beingplayed and the players that are playing those tokens. Further, in anexample such as the roulette example, the game application may tracktypes of bets (e.g., value, player and type of bet or bets).

As to a CAD application, consider a building design application wheretokens may include modulation circuitry for field modulation accordingto one or more modulation codes. In such an example, a modulation codemay be assigned parameters for a structural feature such as a wall, adoor, a window, a plumbing fixture, a heating fixture, etc. For example,consider a touchscreen and a plurality of tokens where positioning ofthe tokens on the touchscreen causes a CAD application to “draw” abuilding floor plan with walls, doors, windows, etc. by locating thepositions of the tokens and identifying each of the tokens by amodulation code as belonging to a particular building feature. Asanother example, consider a flow charting application where a token mayrepresent a start block, a decision block, an end block, etc. In such anexample, a user may position tokens on a touchscreen and the applicationmay locate their positions and identify each of the tokens by amodulating code belonging to a particular flow chart entity and, inresponse, draw a flow chart.

Referring to the assignments 518 of FIG. 5, as indicated, a token may beassigned one or more properties associated with an application. As anexample, a property may optionally be itself dependent on one or morevariables. For example, consider a time dependent property (e.g., aproperty that is a function of time). In such an example, time maycorrespond to time that a token is on a touchscreen, on a touchscreen ata particular location, on a touchscreen while one or more other tokensare also on the touchscreen, etc. For example, consider a game where atoken represents an egg or a chicken depending on how long the token hasbeen present on the touchscreen.

As an example, a set of tokens may be used for one or more applications.In such an example, the set of tokens may be assigned to a first gameapplication and then later assigned to a second game application,assigned to a first CAD application and then later assigned to a secondCAD application, assigned to a game application and then later assignedto a CAD application, etc.

In the example of FIG. 5, as indicated with respect to “App N”, one ormore properties may depend on a function or functions, which may be, forexample, a function or functions with respect to time. As an example, amodulation code of a token may depend on one or more factors, forexample, consider a modulation code that can change depending on afactor such as time, location, proximity or other relationship toanother token (e.g., stacking, etc.), orientation (e.g., up/down), etc.As an example, such a factor or factors may define states where a codeof a token may change in response to a change in state. For example, atoken may use one code for “heads” and another code for “tails” (e.g.,consider a “coin” token); a token may use one code for “on” and anothercode for “off” (e.g., consider a “switch” token); or a token may use oneof a series of codes to represent a number (e.g., “0” to “9” or othernumbers, characters, etc.) (e.g., consider a “dial” token). As to thelatter example, consider an incrementing or decrementing algorithm thatcauses a token to change its code to represent an increased number or adecreased number based on a change in state. For example, consider astate that corresponds to repositioning of a token on a touchscreen, astate that corresponds to stacking a token (e.g., whether on atouchscreen or off a touchscreen), a state that corresponds to rotatinga token on a touchscreen (e.g., where the touchscreen or the token maydetect rotation), etc.

FIG. 6 shows example scenarios 601, 602, 603 and 604 with respect toexamples of tokens positioned on a touchscreen. Such scenarios may beconsidered physi-digital scenarios.

As to the scenario 601, three tokens are shown with respect to a bettingtable for roulette (e.g., a roulette application) where each of thetokens is labeled with a number (e.g., for purposes of explanation) toindicate a value, which may be ascertained by a code (e.g., a modulationcode).

As to the scenario 602, four tokens are shown with respect to videos A,B, C and D on a touchscreen, which may correspond to security cameras,videos available for recording or viewing, etc. As shown, an “on” tokenor an “off” token may be positioned on the touchscreen to instruct anapplication (e.g., or applications) to perform or not perform one ormore actions with respect to each of the videos. As an example, a “play”token, a “pause” token, a “fast forward” token, etc. may be provided,for example, to individually control one or more actions with respect tovideo (e.g., or audio, audio/video, etc.).

As to the scenario 603, a control process is shown on a touchscreenwhich may be for a plant, a simulation of a plant, etc. In the examplescenario 603, indexes are rendered to the touchscreen whereby one ormore tokens may be positioned and rotated, for example, to control oneor more pieces of equipment of the plant. For example, a pump may becontrolled, a temperature may be controlled, etc. Also shown in theexample scenario 603 is an “on” token, which may be for turning on acontroller, an application, a piece of equipment, etc.

As to the scenario 604, an image is shown on a touchscreen along withlines, which may be scales for parameters such as those of an RGB image(e.g., consider an image processing application). For example, threetokens may be positioned along the scales to select RGB values for theimage.

As an example, one or more properties, parameters, etc., may bedetermined using a combination of modulation codes and physicalcontacts. As an example, a “dial token” may emit a constant code wherethe position of the dial may be determined by sensing the positions ofthe physical contacts relative to the coordinates of the touch surface.As an example, consider a token with asymmetric contact points (e.g.,nubs, etc.) such that a touchscreen may determine an orientation of thetoken on a screen. As another example, consider a rectangular token thatincludes four nubs, one located near each corner. In such an example, atouchscreen may determine orientation of the rectangular token bysensing the four nubs.

FIG. 7 shows an example of a token 700 as including a body 710 thatincludes a surface 712 and an opposing surface 714 as well as circuitry720. In the example of FIG. 7, the surface 712, the surface 714 or boththe surface 712 and the surface 714 may be considered a base (e.g.,depending on orientation of the token with respect to an outwardlyfacing surface of a touchscreen). As an example, a surface of the token700 may be constructed from a material that diminishes risk of damage toan outwardly facing surface of a touchscreen (e.g., to avoid scratches,etc.). For example, a material may be soft yet unlikely to carry (e.g.,entrain) hard particles. In the example of FIG. 7, the circuitry 720 caninclude power circuitry and modulation circuitry and optionally othercircuitry.

FIG. 7 also shows examples of stacking, for example, where two or moretokens 700-1 and 700-2 may be stacked as well as examples oforientations, for example, where the token 700 may be oriented on anoutwardly facing surface of a touch screen on the surface 712 or thesurface 714. As to orientation, in the example of FIG. 7, the token 700may cause a touchscreen to sense different touches for each orientation.For example, the surface 712 may include a circle and an annular ringwhile the surface 714 may include an annular ring (e.g., without acircle). In such an example, a touchscreen (e.g., or associatedcircuitry) may be able to determine orientation, which, in turn, may beinformation used by an application to control an action, a behavior,etc.

As an example, the token 700 may include “feet” or “nubs” on one or bothof the surfaces 712 and 714. As an example, in a set of tokens, one ormore tokens may include a different number of nubs than one or moreother tokens. For example, one token may include three nubs along asurface while another token may include four nubs along a surface (e.g.,which may be symmetrically oriented or asymmetrically oriented). In suchan example, a touchscreen may sense three touches for the former tokenand four touches for the latter token. Such information may beadditional information for purposes of an application or applications.As an example, a token may include a single touch surface (e.g.,consider the circular portion of the surface 712). In such an example,each token in a set of tokens may be sensed as being associated with asingle touch position. In such an example, discrimination betweenindividual tokens may occur based on modulation codes (e.g., permodulation circuitry).

As an example, a set of tokens may include tokens of approximately thesame dimensions or of different dimensions. For example, consider a setof tokens that includes four small tokens and four larger tokens. Insuch an example, a touchscreen may sense different signals for the smalland large tokens due to size. In such an example, discrimination betweenindividual tokens may occur based on modulation codes (e.g., permodulation circuitry). For example, four modulation codes may be usedfor the small tokens and optionally the same four modulation codes maybe used for the large tokens. In such an example, circuitry may identifyeach of the eight tokens (e.g., based in part on size and based in parton modulation code).

As to stacking, the circuitry 720 of the token 700 may include stackingcircuitry that detects the presence of one or more other tokens. Suchcircuitry may operate via electrical contacts or other mechanism and mayoptionally output information to modulation circuitry of the token 700.For example, consider the stacked tokens 700-1 and 700-2 wherebystacking causes a change in operation of the modulation circuitry of thelowermost token 700-2. As an example, stacking may cause modulation codeharmonization (e.g., such that tokens in a stack modulate according tothe same modulation code). As an example, stacking may not altermodulation code(s) and a touchscreen may be configured to sense fieldmodulation from more than one token in a stack. In such an example, alocation for a lowermost token may be sensed along with two or moremodulation codes such that circuitry may determine that stacked tokensreside at that location. Corresponding logic may be implemented, forexample, as to an application to note or act upon stacking of tokens. Asan example, consider the aforementioned roulette game application wherestacking may be associated with value at a location, the value beingdetermined by a sum of individual tokens of the stack.

As an example, a token may include a battery, power cell, etc., whichmay optionally be rechargeable, replaceable, etc. As to some examples ofpowering a token, FIG. 8 shows a solar powered token 801, anelectromagnetically powered token 803 and a mechanically powered token805. As to the solar powered token 801, it includes a body 810, asurface 811, a surface 813, circuitry 820 (e.g., modulation circuitryand optionally other circuitry) and solar collector circuitry 830. Whilethe solar collector circuitry 830 is shown with respect to one side ofthe token 801, it may be located on another side of the token 801 or thetoken 801 may include solar collector circuitry at multiple locations.In such an example, light (e.g., the sun 802 or other light source) mayemit radiation that can be collected by the solar collection circuitry830 and transformed to power for powering the circuitry 820 of the token801.

As to the electromagnetically powered token 803, it includes a body 810,circuitry 820 and a coil 840 (e.g., or coils). In such an example, anexternal coil 804 may emit electromagnetic energy that can be receivedby the coil 840. In turn, the coil 840 may charge a circuit (e.g., acapacitor, battery, etc.) of the token 803. As an example, a touchscreenmay include a coil or coils such as the coil 840. In such a manner, aplurality of tokens may be powered by the touchscreen (e.g., during useof the tokens with respect to an application, etc.). As another example,a charger may include a coil or coils such as the coil 840. For example,one or more tokens may be placed on such a charger (e.g., a “wireless”charger) prior to use on a touchscreen. In such an example, the chargeprovided to the one or more tokens may be sufficient to power the tokensfor length of an intended use (e.g., a game, a CAD session, etc.).

As to the mechanically powered token 805, it includes a body 810,circuitry 820 and a mechanical mechanism 850 that includes a mass 852.In such an example, the mass 852 may be rotatable about an axis (e.g., ashaft) in a manner whereby rotation of the mass 752 about the axiscauses winding of a spring, coupling of a magnet and a coil, etc. tothereby power the circuitry 820 of the token. As an example, a set oftokens may be placed on an orbiting plate prior to use where an orbitalmotion of the plate causes a mechanical mechanism in each of the tokensto store power. As another example, a user may shake, swirl, etc. atoken or tokens prior to use where such movement causes the token ortokens to store power.

FIG. 9 shows examples of codes 900 (e.g., modulation codes). As anexample, a set of tokens may implement codes according to mathematicalproperties of orthogonality between vectors representing data strings.For example, a binary string 1011 may be represented by a vector (1, 0,1, 1). In such an example, vectors may be multiplied by taking their dotproduct, by summing the products of their respective components (e.g.,for example, if u=(a, b) and v=(c, d), then their dot productu·v=ac+bd). In the foregoing example, where the dot product is zero, thetwo vectors are said to be orthogonal to each other.

As an example, for a set of tokens, each token may include modulationcircuitry that can modulate a characteristic of the token according to acode orthogonal to codes of the other tokens. The example codes 900include four mutually orthogonal digital signals (e.g., represented byfour vectors). Such orthogonal codes are intended to have across-correlation equal to zero (e.g., to not interfere with eachother). As an example, so-called Walsh codes may be used to encodedifferent tokens (e.g., token types, etc.). For example, for 64 bitWalsh codes, individual Walsh codes are orthogonal to one another andsignals may be channelized into 64 orthogonal signals. As an example, atoken may include encoding circuitry (e.g., modulation circuitry) and atouchscreen (e.g., or system operatively coupled to the touchscreen) mayinclude decoding circuitry.

As an example, each token in a set of tokens may be associated with adifferent code, for example, represented by a vector. In such anexample, a set of tokens may be positioned on a touchscreen whereposition of the tokens may not be discernible (e.g., based onimplemented capabilities of the touchscreen) or desired as an input(e.g., to an application). In such an example, a touchscreen may sense a“combined” signal for all of the tokens at the same time. As to anotherexample, consider stacking of tokens at a positioned on a touchscreensuch that the touchscreen senses a combined signal for that position. Inthe foregoing examples, consider two tokens where a touchscreen sensestwo signals that may be (a) in phase and add to give twice the amplitudeof each signal or (b) out of phase and subtract to give a signal that isthe difference of the amplitudes. Digitally, such behavior may bemodeled by the addition of the vectors, component by component. Forexample, a raw signal for multiple tokens without additional positioninformation or for stacked tokens may be called an interference patternwhere a sensor (e.g., decode circuitry) may extract an intelligiblesignal for a known token/modulation code by combining the token's codewith the interference pattern. For example, decode circuitry may includelogic to deconstruct an interference pattern (e.g., or reconstruct aninterference pattern) to determine what codes are within informationsensed by a touchscreen.

As an example, at least a portion of a token may be conductive. Forexample, a portion of a token may be constructed from a conductivematerial (e.g., metal, alloy, conductive carbon, etc.). As an example, atoken may include a non-conductive body, for example, constructed from amaterial such as plastic, rubber, etc.

As an example, a token can include a body that includes a base; powercircuitry carried by the body; and modulation circuitry carried by thebody and electronically coupled to the power circuitry to modulate afield according to a modulation code that identifies the token. In suchan example, the modulation circuitry may emit an electromagnetic fieldat least in part in the infrared spectrum, the modulation circuitry maymodulate an electric charge to thereby modulate an electric field, etc.

As an example, a token may include power circuitry that can receiveenergy and converts the received energy to power. As an example, powercircuitry may include a battery.

As an example, a base of a token may include one or more surfaces forsupporting the token on a planar surface. As an example, such a tokenmay include an upper portion configured to seat the base for tokenstacking.

As an example, a set of tokens may include modulation circuitry for atleast two different modulation codes. As an example, each of a pluralityof tokens may include modulation circuitry for a different modulationcode.

FIG. 10 shows an example of an apparatus 1000 and an example of a set oftokens 1080, along with examples of actions 1040. In the example of FIG.10, the apparatus 1000 includes a processor 1012, a memory device 1013that includes memory accessible by the processor 1012, a touchscreen1010 operatively coupled to the processor 1012, and circuitry 1014 todecode fields received via the touchscreen 1010, the fields beingmodulated according to modulation codes associated with a set of tokenspositionable on the touchscreen. For example, the set of tokens 1080includes individual tokens 1090-1, 1090-2, 1090-3 and 1090-N, whichinclude corresponding power circuitry 1092-1, 1092-2, 1092-3 and 1092-Nand corresponding modulation circuitry 1094-1, 1094-2, 1094-3 and1094-N, which may operate according to one or more modulation codes 996,for example, v₁, v₂, v₃ and v_(N) (e.g., where “v” may represent avector where at least some of the vectors are orthogonal). Accordingly,the circuitry 1014 of the apparatus 1000 may decode fields received viathe touchscreen 1010 where the fields are modulated according tomodulation codes 1096 associated with the set of tokens 1080, which arepositionable on the touchscreen 1010.

In the example of FIG. 10, the apparatus 1000 may include an operatingsystem 1022 and one or more applications 1032, for example, executableusing the operating system 1022. In such an example, the apparatus 1000may call for one or more of the actions 1040, for example, consider arender action 1041 for rendering a visualization to the touchscreen1010, a sound action 1042 for generating a sound (e.g., via a speaker),a movement action 1043 for moving the touchscreen 1010 or other object(e.g., an environmental action), or one or more other actions 1044.

As an example, the apparatus 1000 may include features such as one ormore of the features included in the LENOVO® IDEADCENTRE® A720“all-in-one” computing device (e.g., sold by Lenovo (US) Inc. ofMorrisville, N.C.). For example, the aforementioned A720 computingdevice includes an Intel® Core i7 processor, a 27 inch framelessmulti-touch display (e.g., for HD resolution of 1920×1080), a NVIDIA®GeForce® GT 630M 2 GB graphics card, 8 GB DDR3 memory, a hard drive, aDVD reader/writer, integrated Bluetooth® and 802.11b/g/n Wi-Fi®, USBconnectors, a 6-in-1 card reader, a webcam, HDMI in/out, speakers, and aTV tuner. As an example, the touchscreen (multi-touch display) mayprovide for approximately 10 or more point multi-touch sensing (e.g., tosupport 10 or more tokens, for example, depending on touches per token).

As an example, an application may execute while media is being renderedto a touchscreen, for example, consider media of a TV, cable orsatellite broadcast (e.g., of a movie, a show, an instructional video,etc.). As an example, the application may receive input via one or moretokens positioned on the touchscreen and, in turn, act to control themedia, overlay visual renderings, set reminders, etc.

As an example, decode circuitry may be provided in the form of a unit,for example, that may be connected to an apparatus, a device, a system,etc. or, for example, that may be provided in the form of code that maybe executed on an apparatus, a device, a system, etc. As an example,consider providing decode circuitry as an “after-market” unit for usewith a computing device such as the aforementioned A720 computingdevice. In such a manner, information sensed by touch controllercircuitry may be routed to the decode circuitry to identify one or moretokens by one or more associated modulation codes. As another example,consider providing decode circuitry code as “after-market” code forimplementation by a computing device such as the aforementioned A720computing device. In such a manner, information sensed by touchcontroller circuitry may be analyzed by one or more algorithms of thedecode circuitry code being executed on the computing device (e.g., asan application, as firmware, etc.) to identify one or more tokes by oneor more associated modulation codes.

As an example, a set of tokens, a touchscreen and decode circuitry mayprovide for various types of phsyi-digital interaction. In such anexample, the tokens in the set of tokens may be “active” in that theyhave an ability to “communicate” their state back to a controller, forexample, by modulating a signal in time. In such an example, a token“possesses” a physical property that may be measured by a controller,and which can assume, for example, 2 or more states (see, e.g., thevectors of FIG. 9). As an example, a token may “transmit” information bychanging states in a controlled manner. As noted, various techniquesdescribed herein may be applied to one or more technologies (e.g.,including existing touch screen technologies, including infrared andprojected capacitive).

As an example, for an infrared (IR) touch system, sensing circuitry mayinclude one or more IR detectors placed along an edge of a displaypanel. In such an example, a token may emit infrared light, reflectinfrared light, etc., in a manner modulated according to a modulationcode (e.g., consider time-varying emission, reflection, etc. via aperipheral surface of a token). As an example, for a projectedcapacitive system, sensing circuitry may detect changes in capacitanceat a given point on a display panel. In such an example, a token maymodulate field according to a modulation code that alters detectedcapacitance, modulate capacitance according to a modulation code thatthereby modulates an electric field of the projected capacitive system,etc.

As an example, tokens may implement one or more information codingtechniques (e.g., consider various CDMA techniques). As an example, atoken may transmit data using a pseudo-noise code sequence (e.g.,consider a Walsh Hadamard sequence, a Gold sequence, etc.) which isorthogonal to the sequences used by one or more other tokens. In such anexample, sensing circuitry that include decoding capabilities mayisolate a signal as stemming from a particular token, for example, byperforming a convolution of a received signal with the code signal forthe particular token. As an example, a touchscreen may sense informationfrom tokens that may include stacked tokens (e.g., two or more tokensstack on top of one another).

As an example, a device may include a hypervisor, for example,executable to manage one or more operating systems. With respect to ahypervisor, a hypervisor may be or include features of the XEN®hypervisor (XENSOURCE, LLC, LTD, Palo Alto, Calif.). In a XEN® system,the XEN® hypervisor is typically the lowest and most privileged layer.Above this layer one or more guest operating systems can be supported,which the hypervisor schedules across the one or more physical CPUs. InXEN® terminology, the first “guest” operating system is referred to as“domain 0” (dom0). In a conventional XEN® system, the dom0 OS is bootedautomatically when the hypervisor boots and given special managementprivileges and direct access to all physical hardware by default. Withrespect to operating systems, a WINDOWS® OS, a LINUX® OS, an APPLE® OS,or other OS may be used by a computing platform.

As described herein, various acts, steps, etc., can be implemented asinstructions stored in one or more computer-readable storage media. Forexample, one or more computer-readable storage media can includecomputer-executable (e.g., processor-executable) instructions toinstruct a device.

The term “circuit” or “circuitry” is used in the summary, description,and/or claims. As is well known in the art, the term “circuitry”includes all levels of available integration, e.g., from discrete logiccircuits to the highest level of circuit integration such as VLSI, andincludes programmable logic components programmed to perform thefunctions of an embodiment as well as general-purpose or special-purposeprocessors programmed with instructions to perform those functions.

While various examples circuits or circuitry have been discussed, FIG.11 depicts a block diagram of an illustrative computer system 1100. Thesystem 1100 may be a desktop computer system, such as one of theThinkCentre® or ThinkPad® series of personal computers sold by Lenovo(US) Inc. of Morrisville, N.C., or a workstation computer, such as theThinkStation®, which are sold by Lenovo (US) Inc. of Morrisville, N.C.;however, as apparent from the description herein, a satellite, a base, aserver or other machine may include other features or only some of thefeatures of the system 1100.

As shown in FIG. 11, the system 1100 includes a so-called chipset 1110.A chipset refers to a group of integrated circuits, or chips, that aredesigned to work together. Chipsets are usually marketed as a singleproduct (e.g., consider chipsets marketed under the brands Intel®, AMD®,etc.).

In the example of FIG. 11, the chipset 1110 has a particulararchitecture, which may vary to some extent depending on brand ormanufacturer. The architecture of the chipset 1110 includes a core andmemory control group 1120 and an I/O controller hub 1150 that exchangeinformation (e.g., data, signals, commands, etc.) via, for example, adirect management interface or direct media interface (DMI) 1142 or alink controller 1144. In the example of FIG. 11, the DMI 1142 is achip-to-chip interface (sometimes referred to as being a link between a“northbridge” and a “southbridge”).

The core and memory control group 1120 include one or more processors1122 (e.g., single core or multi-core) and a memory controller hub 1126that exchange information via a front side bus (FSB) 1124. As describedherein, various components of the core and memory control group 1120 maybe integrated onto a single processor die, for example, to make a chipthat supplants the conventional “northbridge” style architecture.

The memory controller hub 1126 interfaces with memory 1140. For example,the memory controller hub 1126 may provide support for DDR SDRAM memory(e.g., DDR, DDR2, DDR3, etc.). In general, the memory 1140 is a type ofrandom-access memory (RAM). It is often referred to as “system memory”.

The memory controller hub 1126 further includes a low-voltagedifferential signaling interface (LVDS) 1132. The LVDS 1132 may be aso-called LVDS Display Interface (LDI) for support of a display device1192 (e.g., a CRT, a flat panel, a projector, etc.). As an example, adisplay device may be a touchscreen. A block 1138 includes some examplesof technologies that may be supported via the LVDS interface 1132 (e.g.,serial digital video, HDMI/DVI, display port). The memory controller hub1126 also includes one or more PCI-express interfaces (PCI-E) 1134, forexample, for support of discrete graphics 1136. Discrete graphics usinga PCI-E interface has become an alternative approach to an acceleratedgraphics port (AGP). For example, the memory controller hub 1126 mayinclude a 16-lane (x16) PCI-E port for an external PCI-E-based graphicscard. A system may include AGP or PCI-E for support of graphics.

The I/O hub controller 1150 includes a variety of interfaces. Theexample of FIG. 11 includes a SATA interface 1151, one or more PCI-Einterfaces 1152 (optionally one or more legacy PCI interfaces), one ormore USB interfaces 1153, a LAN interface 1154 (more generally a networkinterface), a general purpose I/O interface (GPIO) 1155, a low-pin count(LPC) interface 1170, a power management interface 1161, a clockgenerator interface 1162, an audio interface 1163 (e.g., for speakers1194), a total cost of operation (TCO) interface 1164, a systemmanagement bus interface (e.g., a multi-master serial computer businterface) 1165, and a serial peripheral flash memory/controllerinterface (SPI Flash) 1166, which, in the example of FIG. 11, includesBIOS 1168 and boot code 1190. With respect to network connections, theI/O hub controller 1150 may include integrated gigabit Ethernetcontroller lines multiplexed with a PCI-E interface port. Other networkfeatures may operate independent of a PCI-E interface.

The interfaces of the I/O hub controller 1150 provide for communicationwith various devices, networks, etc. For example, the SATA interface1151 provides for reading, writing or reading and writing information onone or more drives 1180 such as HDDs, SDDs or a combination thereof. TheI/O hub controller 1150 may also include an advanced host controllerinterface (AHCI) to support one or more drives 1180. The PCI-E interface1152 allows for wireless connections 1182 to devices, networks, etc. TheUSB interface 1153 provides for input devices 1184 such as keyboards(KB), mice and various other devices (e.g., cameras, phones, storage,media players, etc.).

In the example of FIG. 11, the LPC interface 1170 provides for use ofone or more ASICs 1171, a trusted platform module (TPM) 1172, a superI/O 1173, a firmware hub 1174, BIOS support 1175 as well as varioustypes of memory 1176 such as ROM 1177, Flash 1178, and non-volatile RAM(NVRAM) 1179. With respect to the TPM 1172, this module may be in theform of a chip that can be used to authenticate software and hardwaredevices. For example, a TPM may be capable of performing platformauthentication and may be used to verify that a system or componentseeking access is the expected system or component.

The system 1100, upon power on, may be configured to execute boot code1190 for the BIOS 1168, as stored within the SPI Flash 1166, andthereafter processes data under the control of one or more operatingsystems and application software (e.g., stored in system memory 1140).

As an example, the system 1100 may include circuitry for communicationvia a cellular network, a satellite network or other network. As anexample, the system 1100 may include battery management circuitry, forexample, smart battery circuitry suitable for managing one or morelithium-ion batteries.

CONCLUSION

Although various examples of methods, devices, systems, etc., have beendescribed in language specific to structural features and/ormethodological acts, it is to be understood that the subject matterdefined in the appended claims is not necessarily limited to thespecific features or acts described. Rather, the specific features andacts are disclosed as examples of forms of implementing the claimedmethods, devices, systems, etc.

What is claimed is:
 1. An apparatus comprising: a processor; a memorydevice that comprises memory accessible by the processor; a touchscreenoperatively coupled to the processor; and circuitry to decode fieldsreceived via the touchscreen, the fields being modulated according tomodulation codes associated with a set of tokens positionable on thetouchscreen.
 2. The apparatus of claim 1 wherein the touchscreencomprises a capacitive touchscreen.
 3. The apparatus of claim 1 whereinthe touchscreen comprises an infrared touchscreen.
 4. The apparatus ofclaim 1 wherein the modulation codes comprise orthogonal codes.
 5. Theapparatus of claim 1 comprising assignment circuitry to assign one ormore parameters to a modulation code.
 6. The apparatus of claim 5wherein the assignment circuitry assigns the one or more parametersbased at least in part on a position on the touchscreen.
 7. A tokencomprising: a body that comprises a base; power circuitry carried by thebody; and modulation circuitry carried by the body and electronicallycoupled to the power circuitry to modulate a field according to amodulation code that identifies the token.
 8. The token of claim 7wherein the modulation circuitry emits an electromagnetic field at leastin part in the infrared spectrum.
 9. The token of claim 7 wherein themodulation circuitry modulates an electric charge to thereby modulate anelectric field.
 10. The token of claim 7 wherein the power circuitryreceives energy and converts the received energy to power.
 11. The tokenof claim 7 wherein the power circuitry comprises a battery.
 12. Thetoken of claim 7 wherein the base comprises one or more surfaces forsupporting the token on a planar surface.
 13. The token of claim 7comprising an upper portion, the upper portion configured to seat thebase for token stacking.
 14. The set of tokens of claim 7 comprising atleast two different modulation codes.
 15. A set of tokens comprising aplurality of the token of claim 7 wherein each of the plurality oftokens comprises a different modulation code.
 16. A method comprising:receiving modulated fields associated with a set of tokens on atouchscreen wherein each of the tokens modulates a respective one of thefields; and differentiating at least one of the tokens from at leastanother one of the tokens based on their corresponding modulated fields.17. The method of claim 16 wherein the differentiating comprisesidentifying modulation codes.
 18. The method of claim 17 wherein themodulation codes comprise orthogonal codes.
 19. The method of claim 16comprising based in part on the differentiating, associating one or moreparameters with the at least one of the tokens.
 20. The method of claim19 comprising instructing an application according to at least one ofthe one or more parameters.